package com.ruoyi;

// 父类
class Animal {
    String animal_name;


    public void eat() {
        System.out.println(animal_name + " is eating.");
    }
}

// 子类
class Dog extends Animal {


    String dog_name;

    public Dog(String dog_name) {
        this.dog_name = dog_name;
    }

    public void bark() {
        System.out.println(dog_name + " is barking.");
    }


}


public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
        // Dog dog = new Dog("Rex");
        // dog.eat(); // 继承自Animal类
        // dog.bark(); // Dog类中定义的方法

        Animal animal = new Animal();
        animal.eat();


        // 子类实例化之后可以调用父类的方法
        Dog dog = new Dog("d1");
        dog.eat();
        dog.bark();

        // 子类实例化之后类型强转为父类
        Animal dog2 = new Dog("d2");
        dog2.eat();
        // 这里会报符号找不到，虽然实例化的是子类，但是将类型转为了父类，不能调用子类的方法
        // dog2.bark();
    }


}
